/**
 * 经销看板数据类型定义
 */

/** 日期范围查询参数 */
export interface DateRangeQuery {
  startDate?: string; // 格式：YYYY-MM-DD
  endDate?: string;   // 格式：YYYY-MM-DD
}

/** 经销概览指标 */
export interface DistributionOverviewMetrics {
  /** 总品牌数 */
  totalBrands: number;
  /** 品牌数同比增长率(%) */
  brandGrowthRate: number;
  /** 活跃品牌数 */
  activeBrands: number;
  /** 活跃品牌率(%) */
  activeBrandRate: number;
  /** 总成交金额(万元) */
  totalTransactionAmount: number;
  /** 成交金额同比增长率(%) */
  amountGrowthRate: number;
  /** 平均客单价 */
  avgTransactionValue: number;
  /** 整体转化率(%) */
  overallConversionRate: number;
}

/** 品牌表现数据 */
export interface BrandPerformanceData {
  /** 品牌名称 */
  brandName: string;
  /** 一级类目 */
  firstCategory: string;
  /** 二级类目 */
  secondCategory: string;
  /** 三级类目 */
  thirdCategory: string;
  /** 经营模式 */
  operationMode: string;
  /** 浏览量 */
  pageViews: number;
  /** 访客数 */
  visitorCount: number;
  /** 人均浏览量 */
  avgPageViewsPerVisitor: number;
  /** 平均停留时长(秒) */
  avgStayTime: number;
  /** 成交人数 */
  transactionUserCount: number;
  /** 成交转化率(%) */
  conversionRate: number;
  /** 成交单量 */
  transactionOrderCount: number;
  /** 成交商品件数 */
  transactionItemCount: number;
  /** 成交金额(元) */
  transactionAmount: number;
  /** 成交客单价(元) */
  averageTransactionValue: number;
  /** 更新时间 */
  updateTime: string;
}

/** 类目分析数据 */
export interface CategoryAnalysisData {
  /** 类目名称 */
  categoryName: string;
  /** 类目级别 */
  categoryLevel: 1 | 2 | 3;
  /** 品牌数量 */
  brandCount: number;
  /** 成交金额(万元) */
  transactionAmount: number;
  /** 市场份额(%) */
  marketShare: number;
  /** 同比增长率(%) */
  growthRate: number;
  /** 平均转化率(%) */
  avgConversionRate: number;
  /** 排名 */
  ranking: number;
  /** 趋势 */
  trend: 'up' | 'down' | 'stable';
}

/** 经营模式分析 */
export interface OperationModeAnalysis {
  /** 经营模式 */
  operationMode: string;
  /** 品牌数量 */
  brandCount: number;
  /** 品牌占比(%) */
  brandRatio: number;
  /** 成交金额(万元) */
  transactionAmount: number;
  /** 金额占比(%) */
  amountRatio: number;
  /** 平均转化率(%) */
  avgConversionRate: number;
  /** 平均客单价(元) */
  avgTransactionValue: number;
  /** 颜色标识 */
  color: string;
}

/** 品牌排行数据 */
export interface BrandRankingData {
  /** 排名 */
  rank: number;
  /** 品牌名称 */
  brandName: string;
  /** 主营类目 */
  mainCategory: string;
  /** 经营模式 */
  operationMode: string;
  /** 成交金额(万元) */
  transactionAmount: number;
  /** 成交转化率(%) */
  conversionRate: number;
  /** 访客数 */
  visitorCount: number;
  /** 同比增长率(%) */
  growthRate: number;
  /** 趋势图标 */
  trendIcon: 'up' | 'down' | 'stable';
  /** 健康度评分 */
  healthScore: number;
}

/** 趋势数据点 */
export interface TrendDataPoint {
  /** 日期 */
  date: string;
  /** 品牌数 */
  brandCount?: number;
  /** 成交金额(万元) */
  transactionAmount?: number;
  /** 转化率(%) */
  conversionRate?: number;
  /** 访客数 */
  visitorCount?: number;
}

/** 分布数据 */
export interface DistributionData {
  /** 名称 */
  name: string;
  /** 数值 */
  value: number;
  /** 百分比(%) */
  percentage: number;
  /** 颜色 */
  color: string;
}

/** 经销看板完整数据 */
export interface DistributionDashboardData {
  /** 概览指标 */
  overviewMetrics: DistributionOverviewMetrics;
  /** 品牌表现列表 */
  brandPerformanceList: BrandPerformanceData[];
  /** 类目分析数据 */
  categoryAnalysis: CategoryAnalysisData[];
  /** 经营模式分析 */
  operationModeAnalysis: OperationModeAnalysis[];
  /** 品牌排行 */
  brandRanking: BrandRankingData[];
  /** 成交金额趋势 */
  amountTrend: TrendDataPoint[];
  /** 品牌数量趋势 */
  brandCountTrend: TrendDataPoint[];
  /** 转化率趋势 */
  conversionTrend: TrendDataPoint[];
  /** 类目分布 */
  categoryDistribution: DistributionData[];
  /** 经营模式分布 */
  operationModeDistribution: DistributionData[];
}

/** 品牌查询参数 */
export interface BrandQuery extends DateRangeQuery {
  /** 品牌名称（模糊搜索） */
  brandName?: string;
  /** 一级类目 */
  firstCategory?: string;
  /** 二级类目 */
  secondCategory?: string;
  /** 三级类目 */
  thirdCategory?: string;
  /** 经营模式 */
  operationMode?: string;
  /** 排序字段 */
  sortBy?: 'transactionAmount' | 'conversionRate' | 'visitorCount' | 'updateTime';
  /** 排序方向 */
  sortOrder?: 'asc' | 'desc';
  /** 页码 */
  pageNum?: number;
  /** 每页大小 */
  pageSize?: number;
}

/** 分页响应数据 */
export interface PageResult<T> {
  /** 数据列表 */
  list: T[];
  /** 总数 */
  total: number;
  /** 当前页码 */
  pageNum: number;
  /** 每页大小 */
  pageSize: number;
  /** 总页数 */
  pages: number;
}

/** 统计分析查询参数 */
export interface AnalysisQuery extends DateRangeQuery {
  /** 统计维度 */
  dimension: 'category' | 'operationMode' | 'brand' | 'time';
  /** 统计指标 */
  metrics?: string[];
  /** 分组方式 */
  groupBy?: string;
}

/** 实时数据 */
export interface DistributionRealTimeData {
  /** 在线品牌数 */
  onlineBrands: number;
  /** 实时访客数 */
  realtimeVisitors: number;
  /** 今日成交金额(万元) */
  todayAmount: number;
  /** 今日订单数 */
  todayOrders: number;
  /** 实时转化率(%) */
  realtimeConversionRate: number;
  /** 最后更新时间 */
  lastUpdateTime: string;
} 